Schulung, Beratung und Entwicklung

Glück IT

Gesellschaft für IT Beratung, Schulung und Entwicklung

NEWS

Content Management System ®CMAssist

Suchen und ersetzen in Dateien unter Linux

Sehr schnell kann es vorkomme, dass man als Administrator innerhalb einer Textdatei oder schlimmer in einer Schar von Dateien, eine bestimmte Zeichenkette (String) in eine andere umwandeln muss. Beispielsweise eine IP Adresse in eine andere, weil ein Server umgezogen ist oder eine Konfiguration in einer Konfigurationsdatei.

Der einfachste Weg geht mit Grep und Perl. Dazu durchforstet Grep alle Dateien nach dem String und spuckt die jeweiligen Dateinamen aus. Diese werden an Perl weiter gereicht und mit hilf eines Regulären Ausdruckes wird dann die Zeichenfolge innerhalb der jeweiligen Datei ersetzt.

$ grep -rl OLDSTRING /home/*/public_html/config.file | xargs perl -pi~ -e 's/OLDSTRING/NEWSTRING/'

Natürlich kann man das ganze auch mit sedo erreichen, statt mit perl.

$ grep -rl OLDSTRING /pfad/* | xargs sed -i -e ’s/OLDSTRING/NEWSTRING/’